<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button class="btn">困死了</button>
    <script>
        // function foo(a,b){
        //     console.log(a,b);
        // }
        // foo(1,2); //函数调用
        // // 自执行函数 ITFE
        // (function(c){
        //     console.log(c);
        // })(1);
        // var fun =function(d){
        //     console.log(d);
        // }

        // 箭头函数
        let foo = (a)=>{
            console.log(a)
        }
        foo(1);
        // document.querySelector('.btn').onclick=function(){
        //     console.log('怎么回事怎么回事怎么回事')
        // }
    
        // document.querySelector('.btn').onclick = ()=>{
        //     console.log('你说谁你说谁你说谁')
        // }
            
        // document.querySelector('.btn').addEventListener('click',function(){
        //     console.log('困了的站起来');
        // })

        // document.querySelector('.btn').addEventListener('click',()=>{
        //     console.log('站起来站起来站起来');
        // })

        let aa = ()=>{
            console.log('哈哈哈');
        }
        aa();
        // 在箭头函数中当有一个形参时，小括号可以省略，当有多个参数或者没有参数时，小括号不能省略
        let aa1 = a =>{
            console.log(a);
        }
        aa1(122);
        // 在箭头函数中当大括号中只有一条语句时大括号可省略，多条语句时不能省略大括号，该条语句的结果就是当前函数的返回值
        let aa2 = a => console.log(1 + a);
        let result = aa2(1);
        console.log(result);  //undefined

        let obj ={
            jump:(a,b) =>{
                // jump函数的作用是什么
                // a+b求和c,并且在控制台答应了c
                // jump该函数有返回值吗
                // 函数的返回值：函数有无返回值 看它有没有return 有return函数的返回值为return后面的值 没有return 函数的返回值为undefined
                let c=a+b;
                console.log(1);
                return 1;
            }
        }
        let result_obj =obj.jump;
        console.log(result_obj);

        // console 对象 对象上有个方法log 作用：在控制台打印123
        let result_log =console.log('123');
        console.log(result_log);

        let aa3 =(a,b) =>{
            console.log(a+b);
            
            // 当大括号不省略时，函数若想有返回值，必须写return
        }

        // 箭头函数没有this指向 他的this指向为外层函数的this指向
        document.querySelector('.btn').onclick =function(){
            console.log(this);
        }
        console.log(this);
        document.querySelector('.btn').onclik =()=>{
            console.log(this);
        }
        // 箭头函数没有原型
    </script>
</body>
</html>